/*
 * Copyright 2010. 
 * 
 * This document may not be reproduced, distributed or used 
 * in any manner whatsoever without the expressed written 
 * permission of xrkol Corp. 
 * 
 * $Rev: Rev $
 * $Author: Author $
 * $LastChangedDate: LastChangedDate $
 *
 */

package com.xrkol.sharelib.service;

import java.util.List;
import java.util.Set;

import com.xrkol.sharelib.entity.Clazz;
import com.xrkol.sharelib.entity.Student;

/**
 * @author peng.xia
 *
 */
public interface StudentService extends BaseService<Student, String> {

    /**
     * 分页查询学生
     * 
     * @param page
     * @return
     */
    List<Student> findStudentsWithPagination(Integer page);

    /**
     * 根据用户的微信号查找对应的学生
     * 
     * @param userId
     * @return
     */
    List<Student> findByUserId(String userId);

    /**
     * 根据班级查找对应的学生
     * 
     * @param clazz
     * @return
     */
    Set<Student> getStudentsByClass(Clazz clazz);
    
    List<Student> getStudentsByClasses(List<Clazz> clazzs);
    
    /**
     * 获取未分配的学生列表
     * 
     * @return
     */
    List<Student>  getNoChoiceStudents();


}
